/*! 
 * Interface file for the force generators.
 *
 * \author Devis Rossini
 * \date 18 March 2012
 */ 
#ifndef PHXFORCEGENERATOR_H_INCLUDE_GUARD
#define PHXFORCEGENERATOR_H_INCLUDE_GUARD

#include "PhxRigidBody.h"

namespace phx 
{
	/*!
     * A force generator can be asked to add a force to one or more
     * bodies.
     */
    class ForceGenerator
    {
    public:

        /*!
         * Overload this to calculate and update the force applied to 
		 * the given rigid body.
         */
        virtual void UpdateForce(RigidBody* body, real duration) = 0;
    };
}

#endif // PHXFORCEGENERATOR_H_INCLUDE_GUARD